package com.bw.play.state

import com.bw.common.entity.CommendEntity
import com.bw.common.entity.DanmuEntity
import com.bw.common.entity.MovieVideoEntity
import com.bw.common.entity.SimpleVideoEntity
import com.bw.common.state.BaseUIState
import com.bw.play.entity.AuthorEntity

sealed class PlayUiState : BaseUIState() {

    object LoadEmpty : PlayUiState()

    data class LoadAuthorSuccess(val entity: AuthorEntity) : PlayUiState()
    data class LoadAuthorFail(val errorMsg: String) : PlayUiState()

    data class LoadSimpleVideoSuccess(val list: List<SimpleVideoEntity>) : PlayUiState()
    data class LoadSimpleVideoFail(val errorMsg: String) : PlayUiState()

    data class LoadMultiVideoSuccess(val list: List<MovieVideoEntity>) : PlayUiState()
    data class LoadMultiVideoFail(val errorMsg: String) : PlayUiState()

    data class LoadVideoCommentSuccess(val list: List<CommendEntity>) : PlayUiState()
    data class LoadVideoCommentFail(val errorMsg: String) : PlayUiState()

    data class PublishVideoCommentSuccess(val content: CommendEntity) : PlayUiState()
    data class PublishVideoCommentFail(val errorMsg: String) : PlayUiState()

    data class PublishVideoDanmuSuccess(val content: String) : PlayUiState()
    data class PublishVideoDanmuFail(val errorMsg: String) : PlayUiState()

    data class LoadVideoDanmuSuccess(val list: List<DanmuEntity>) : PlayUiState()
    data class LoadVideoDanmuFail(val errorMsg: String) : PlayUiState()


}